#include "Demarrage.h"

#include <boost/assign/list_of.hpp>

using namespace std;
using namespace boost::assign;

const vector<string> Demarrage::Noms = list_of
  ("Créer un nouveau personnage")
  ("Faire évoluer un personnage")
  ("Ajouter des sorts au livre de sorts")
  ("Ecrire les feuille de personnage")
  ("Bref aperçu d'un personnage")
  ("Jumeler les classes");

const vector<string> Demarrage::Aide = list_of
  ("Crée le personnage, au début\nd'une campagne par exemple.")
  ("Permet d'inscire les xp gagnés\n ainsi que les pp et pv.")
  ("Permet d'apprendre de nouveaux sorts.")
  ("Crée le fichier tex et lance la compilation.")
  ("Permet d'afficher un bref résumé du personnage.")
  ("Permet d'effectuer un jumelage de classe.");

/** Constructeur par défaut.
 * On se repose totalement sur le fonctionnement de ChoisirListe, ici
 * on ne fait rien.
 *
 * @param parent pointeur sur le widget parent (orphelin par défaut).
 */
Demarrage::Demarrage(QWidget *parent)
  : ChoisirListe( "Demarrage", "Choix du programme :", &Noms, &Aide, parent )
{}

/** Destructeur, ne fait rien de spécial.
 */
Demarrage::~Demarrage()
{}
		  

// /** Constructeur par défaut.
//  *
//  * @param parent pointeur sur le widget parent (orphelin par défaut)
//  */
// Demarrage::Demarrage(QWidget *parent)
//   : BaseUI( "Demarrage", parent ), selection(0)
// {
//   boite = new QGroupBox( trUtf8("Choix du programme :"), this);
//   QVBoxLayout *boiteLayout = new QVBoxLayout;

//   QRadioButton *radio[6] = {
//     new QRadioButton(trUtf8("Créer un nouveau personnage"), boite),
//     new QRadioButton(trUtf8("Faire évoluer un personnage"), boite),
//     new QRadioButton(trUtf8("Ajouter des sorts au livre de sorts"), boite),
//     new QRadioButton(trUtf8("Ecrire les feuille de personnage"), boite),
//     new QRadioButton(trUtf8("Bref aperçu d'un personnage"), boite),
//     new QRadioButton(trUtf8("Jumeler les classes"), boite)
//   };

//   radio[0] -> setToolTip( trUtf8("Crée le personnage, au début\nd'une campagne par exemple.") );
//   radio[1] -> setToolTip( trUtf8("Permet d'inscire les xp gagnés\n ainsi que les pp et pv.") );
//   radio[2] -> setToolTip( trUtf8("Permet d'apprendre de nouveaux sorts.") );
//   radio[3] -> setToolTip( trUtf8("Crée le fichier tex et lance la compilation.") );
//   radio[4] -> setToolTip( trUtf8("Permet d'afficher un bref résumé du personnage.") );
//   radio[5] -> setToolTip( trUtf8("Permet d'effectuer un jumelage de classe.") );

//   for (unsigned int i (0); i < 6; i++)
//     {
//       boiteLayout -> addWidget(radio[i], i);
//       connect(radio[i], SIGNAL(clicked()), this, SLOT(lequel()));
//     }

//   radio[0] -> setChecked( true );
  
//   boiteLayout -> addStretch(1);
//   boite -> setLayout(boiteLayout);

//   boutons.push_back( new QPushButton( trUtf8("&Quitter"), this ) );
//   boutons.back() -> setToolTip( trUtf8("Quitter le programme") );
//   connect( boutons.back()  , SIGNAL( clicked() ), this, SLOT( annuler() ) );
//   boutons.push_back( new QPushButton( trUtf8("&OK"), this ) );
//   boutons.back() -> setToolTip( trUtf8("Accepter et continuer") );
//   connect( boutons.back(), SIGNAL( clicked() ), this, SLOT( fermer() ) );

//   fenetreLayout -> addWidget(boite);

//   setFenetreLayout();
// }

// /**
//  * Destructeur, ne fait rien de spécial
//  */
// Demarrage::~Demarrage()
// {
// }

// /**
//  * Demande quel programme il faut lancer
//  * @return StatusCode\e true si choix validé, \e false sinon, le choix est
//  * donné par valeur().
//  */
// StatusCode Demarrage::demanderPrgm()
// {
//   this -> show();

//   qApp -> exec();

//   return StatusCode(OK, selection);
// }

// void Demarrage::lequel()
// {
//   QList<QRadioButton*> enfants = boite -> findChildren<QRadioButton *>();

//   QList<QRadioButton*>::const_iterator it, Begin(enfants.begin()),
//     End(enfants.end());

//   for (it = Begin; it != End; it++)
//     {
//       if ((*it) -> isChecked())
// 	{
// 	  selection = static_cast<int>(it - Begin);
// 	  break;
// 	}
//     }
// }
